{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "d1f20875-c50d-46df-906b-49ec1d0c6002",
   "metadata": {},
   "source": [
    "# 6.2 实现交叉熵损失函数"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "c90a18b9-d8e8-431c-856c-35f1e4ed05e1",
   "metadata": {},
   "source": [
    "### 1.任务描述\n",
    "\n",
    "假设有4个样本，对应的标签分别是0,0,1,1。样本使用逻辑回归计算的预测值分别为0.1,0.2,0.8,0.49。\n",
    "\n",
    "要求：\n",
    "- 计算交叉熵损失\n",
    "- 计算平均交叉熵损失"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "f5b4fc39-cbcf-432a-bf1e-e75e642d4b87",
   "metadata": {},
   "source": [
    "### 2.知识准备\n",
    "\n",
    "见教程。"
   ]
  },
  {
   "attachments": {
    "510241ca-83c2-49d9-8349-1070af20c042.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "be9bd04d-5a0b-4ecb-a79c-d8d944e93e25",
   "metadata": {},
   "source": [
    "5. 交叉熵损失的计算过程\n",
    "\n",
    "表6-2-1所示为一组样本及预测结果。\n",
    "\n",
    "表6-2-1  样本及预测结果\n",
    "\n",
    "![image.png](attachment:510241ca-83c2-49d9-8349-1070af20c042.png)\n",
    "\n",
    "可以使用准确率来衡量模型的优劣，准确率公式如下：\n",
    "\n",
    "$准确率=\\frac{正确分类样本}{总样本数}=\\frac{4}{4}=100\\%  $\n",
    "\n",
    "模型的交叉熵损失公式为：\n",
    "\n",
    "$Loss=-\\sum_{i=1}^{n}[y_i\\ln{}{\\hat{y}_i}+(1-y_i)\\ln{}{(1-\\hat{y}_i)}]$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f213eb7-e7f0-4058-8c04-616cd7f9ba70",
   "metadata": {},
   "source": [
    "各个样本的交叉熵损失分别为：\n",
    "\n",
    "样本1：$-(0*\\ln_{}{0.1}+1*\\ln_{}{0.9})=-\\ln{}{0.9}=0.1054$\n",
    "\n",
    "样本2：$-(0*\\ln_{}{0.2}+1*\\ln_{}{0.8})=-\\ln{}{0.8}=0.2231$\n",
    "\n",
    "样本3：$-(1*\\ln_{}{0.8}+0*\\ln_{}{0.2})=-\\ln{}{0.8}=0.2231$\n",
    "\n",
    "样本4：$-(1*\\ln_{}{0.99}+0*\\ln_{}{0.01})=-\\ln{}{0.99}=0.0101$\n",
    "\n",
    "交叉熵损失为0.5617，平均交叉熵损失为0.1404。"
   ]
  },
  {
   "attachments": {
    "5d7e3338-23d0-4e0b-bb9a-9cd6419290a0.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "3393d62e-0fb4-4645-9b42-c5ce3d5bbc9d",
   "metadata": {},
   "source": [
    "6. 交叉熵损失对模型的评价\n",
    "\n",
    "对分类模型的评价，可以使用准确率与交叉熵损失。例如，分析准确率与交叉熵损失对如下两个模型的评价。\n",
    "\n",
    "- 模型1\n",
    "\n",
    "模型1预测结果如表6-2-2所示。\n",
    "\n",
    "表6-2-2  模型1预测结果\n",
    "\n",
    "![image.png](attachment:5d7e3338-23d0-4e0b-bb9a-9cd6419290a0.png)\n",
    "\n",
    "$准确率=\\frac{正确分类样本}{总样本数}=\\frac{3}{4}=75\\%$\n",
    "\n",
    "各个样本的交叉熵损失分别为：\n",
    "\n",
    "样本1：$-(0*\\ln_{}{0.1}+1*\\ln_{}{0.9})=-\\ln{}{0.9}=0.1054$\n",
    "\n",
    "样本2：$-(0*\\ln_{}{0.2}+1*\\ln_{}{0.8})=-\\ln{}{0.8}=0.2231$\n",
    "\n",
    "样本3：$-(1*\\ln_{}{0.8}+0*\\ln_{}{0.2})=-\\ln{}{0.8}=0.2231$\n",
    "\n",
    "样本4：$-(1*\\ln_{}{0.49}+0*\\ln_{}{0.51})=-\\ln{}{0.49}=0.7133$\n",
    "\n",
    "平均交叉熵损失为0.3162。"
   ]
  },
  {
   "attachments": {
    "581324eb-33b2-406f-88f0-39e19432caac.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "d2243d84-e358-4abc-9f6c-6182f3de94ef",
   "metadata": {},
   "source": [
    "- 模型2\n",
    "\n",
    "模型2预测结果如表6-2-3所示。\n",
    "\n",
    "表6-2-3  模型2预测结果\n",
    "\n",
    "![image.png](attachment:581324eb-33b2-406f-88f0-39e19432caac.png)\n",
    "\n",
    "$准确率=\\frac{正确分类样本}{总样本数}=\\frac{3}{4}=75\\%$\n",
    "\n",
    "各个样本的交叉熵损失分别为：\n",
    "\n",
    "样本1：$-(0*\\ln_{}{0.49}+1*\\ln_{}{0.51})=-\\ln{}{0.51}=0.6733$\n",
    "\n",
    "样本2：$-(0*\\ln_{}{0.45}+1*\\ln_{}{0.55})=-\\ln{}{0.55}=0.5978$\n",
    "\n",
    "样本3：$-(1*\\ln_{}{0.51}+0*\\ln_{}{0.49})=-\\ln{}{0.51}=0.6733$\n",
    "\n",
    "样本4：$-(1*\\ln_{}{0.1}+0*\\ln_{}{0.9})=-\\ln{}{0.1}=2.3026$\n",
    "\n",
    "平均交叉熵损失为1.0618。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef44cd87-0082-47fb-be6e-33ff498926e5",
   "metadata": {},
   "source": [
    "- 分析对比\n",
    "\n",
    "两个模型的准确率都是75%，但显然，模型1的预测效果更好，可见，仅仅通过准确率，是无法分出模型的优劣的。模型1的平均交叉熵损失（0.3162）远远小于模型2的平均交叉熵损失（1.0618），交叉熵损失函数能够很好地反映出概率之间的误差，是训练分类器的重要参考依据。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b624ebee-980f-4c1e-b963-a24ff0b669f6",
   "metadata": {},
   "source": [
    "### 3.任务分析\n",
    "\n",
    "在TensorFlow中，可以通过tf.reduce_sum方法来实现张量的内部求和，其格式如下："
   ]
  },
  {
   "cell_type": "raw",
   "id": "8d53c5ec-c767-4d3f-b5bb-cde5a939b668",
   "metadata": {},
   "source": [
    "tf.reduce_sum(tensor)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd52a268-60fa-435e-b1a2-105e5a45d91a",
   "metadata": {},
   "source": [
    "参数说明如下：\n",
    "- tensor：需要内部求和的张量。\n",
    "\n",
    "通过tf.reduce_sum方法，可以对$y_i\\ln{}{\\hat{y}_i}+(1-y_i)\\ln{}{(1-\\hat{y}_i)}$进行内部求和，得出的结果即为交叉熵损失。\n",
    "\n",
    "而通过tf.reduce_mean(tensor)即可对张量进行内部求均值，该方法可以用来计算平均交叉熵损失。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "435c6090-cfda-4f46-a550-22a368e41e4a",
   "metadata": {},
   "source": [
    "### 4.任务实施\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "ec75eb6c-5da3-467d-a471-ca3b47242dd6",
   "metadata": {},
   "source": [
    "执行代码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2ae9da58-e339-4d22-9f8d-ca255711d89e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "交叉熵损失: 1.2649975\n",
      "平均交叉熵损失: 0.31624937\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "# 样本标签\n",
    "Y=tf.constant([0,0,1,1],dtype=tf.float32)\n",
    "# 样本使用逻辑回归计算的预测值\n",
    "PRED=tf.constant([0.1,0.2,0.8,0.49])\n",
    "# 计算交叉熵损失\n",
    "re=-tf.reduce_sum(Y*tf.math.log(PRED)+(1-Y)*tf.math.log(1-PRED))\n",
    "print(\"交叉熵损失:\",re.numpy())\n",
    "# 计算平均交叉熵损失\n",
    "re1=-tf.reduce_mean(Y*tf.math.log(PRED)+(1-Y)*tf.math.log(1-PRED))\n",
    "print(\"平均交叉熵损失:\",re1.numpy())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "947bd149-004c-4238-863f-ba125a57b79b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
